package com.jzo2o.common.expcetions;

import static com.jzo2o.common.constants.ErrorInfo.Msg.REQUEST_FAILD;
import static java.net.HttpURLConnection.HTTP_BAD_REQUEST;

/**
 * 请求异常类，用于表示请求不符合要求的情况（错误码400）
 * 使用场景：请求参数不合法、频繁请求等客户端请求问题
 */
public class BadRequestException extends CommonException {

    /**
     * 使用默认请求失败消息构造请求异常
     */
    public BadRequestException() {
        this(REQUEST_FAILD);
    }
    /**
     * 使用指定消息构造请求异常
     * @param message 异常消息
     */
    public BadRequestException(String message) {
        super(HTTP_BAD_REQUEST, message);
    }
    /**
     * 使用指定原因和消息构造请求异常
     * @param throwable 异常原因
     * @param message 异常消息
     */
    public BadRequestException(Throwable throwable, String message) {
        super(throwable, HTTP_BAD_REQUEST, message);
    }
    /**
     * 使用指定原因和默认请求失败消息构造请求异常
     * @param throwable 异常原因
     */
    public BadRequestException(Throwable throwable) {
        super(throwable, HTTP_BAD_REQUEST, REQUEST_FAILD);
    }
}
